#include<stdio.h>
 
int main()
{
	int m=0;
	int arr[1000]={0};
	scanf("%d",&m);
	for(int i=0;i<m;i++)
	{
		arr[i]=i*2;
	}
	int gap=m/2;
	do
	{
		for(int i=0;i<m;i++)
		{
			 int j=0;
			for(j=i;j>gap && arr[j-gap]>=arr[j] ;j-=gap)
			{
				int temp=0;
				temp=arr[j];
				arr[j]=arr[j-1];
				arr[j-1]=temp;
			}	 
			/*
			将数组分组，每个组中元素位置差为gap，通过实现每个组中元素的排序来实现整体排序
			*/ 
		}
	}
	while(gap/=2);
	for(int i=0;i<m;i++)
	{
		printf("%d ",arr[i] );
	}
	return 0;
}